The argument table must be a valid table or view name and the table/view must exist.
If schema or table are set in quotes, they will be treated case sensitive otherwise
they are automatically converted to the default schema of the database. Columns
are always treated case sensitive.
A subset of columns and/or rows may be specified
using the indexing operator []
(which is translated to the
SELECT
clause for columns and/or the WHERE
clause for
rows). Note that columns are treated case sensitive.
One limitation is that rows cannot be selected using their numbers.
Instead, you must specify value-based conditions, for example d[d$ID > 10,]
which means “all rows where the value of the first column is
greater than 10”. The $
operator may be also used to select
an ida.data.frame
column.
You can also add and alter columns in an ida.data.frame. Currently, a limited set of functions and operators
is supported to define columns based on other columns. The following is supported:
Arithmetic operators are +,-,/,*,^
Mathematical functions are abs, sqrt, log, log10, exp, floor, round, ceiling
Casting functions: as.numeric, as.integer, as.character
Comparison and logical operators: <,<=,>,>=,!=,==,!,&,|
Conditional functions: ifelse
Special functions: is.db.null (checks whether column value is NULL in the table)
There are several rules for adding columns:
You can not combine columns from different tables or from ida.data.frames that have different WHERE conditions.
You cannot add a column to an ida.data.frame that was defined on columns from another ida.data.frame
You can only add columns that evaluate to non-logical, atomic values
The package does basic type checking to enforce these rules, however, it is still possible that the database
will refuse a query that was not properly defined.
is.ida.data.frame
checks if the given object's class is ida.data.frame
.